package redis

import (
	"fmt"
	"github.com/go-redis/redis"
	"github.com/spf13/viper"
)

func Init() (err error) {
	/*rdb := redis.NewClient(&redis.Options{
		Addr:     "localhost:6379",
		Password: "", // 密码
		DB:       0,  // 数据库
		PoolSize: 20, // 连接池大小
	}*/
	rdb := redis.NewClient(&redis.Options{
		Addr: fmt.Sprintf("%s:%d",
			viper.GetString("redis.host"),
			viper.GetInt("redis.port")),
		Password: viper.GetString("redis.password"), // 密码
		DB:       viper.GetInt("redis.dbname"),      // 数据库
		PoolSize: viper.GetInt("redis.pool_size"),   // 连接池大小
	},
	)
	_, err = rdb.Ping().Result()
	if err != nil {
		return err
	}
	defer rdb.Close()
	return
}
